#include <iostream>
using namespace std;

/// @brief 交换
/// @param a
/// @param b
void swap(int &a, int &b)
{
    int temp = a;
    a = b;
    b = temp;
}

/// @brief 简单选择排序
/// @param A
/// @param n
void SelectSort(int A[], int n)
{
    for (int i = 0; i < n - 1; i++)
    {                // 一共进行n-1趟排序
        int min = i; // 记录最小元素位置
        for (int j = i + 1; j < n; j++)
        { // 在A[i...n-1]中选择最小的元素
            if (A[j] < A[min])
            {
                min = j; // 更新最小元素位置
            }
        }
        if (min != i)
        { // 封装的swap（）函数共移动元素3次
            swap(A[i], A[min]);
        }
    }
}